package cz.proks.easyhelpdesk.api.config;

public class Configuration {
	private Configuration() {}
	
	private final static String CATEGORY_API = "Category";
	private final static String EMAIL_API = "Email";
	private final static String FILE_API = "File";
	private final static String FILTER_API = "Filter";	
	private final static String HELPDESK_API = "Helpdesk";
	private final static String HELPDESK_MEMBER_API = "HelpdeskMember";
	private final static String USER_API = "User";
	private final static String OAUTH2_TOKEN_API = "OAuth2Token";
	private final static String THREAD_API = "Thread";
	private final static String TICKET_API = "Ticket";
	private final static String THREAD_MEMBER_API = "ThreadMember";
	
	private final static String DB_PREFIX = "db.";
	private final static String WS_PREFIX = "ws.";
	private final static String CORE_PREFIX = "core.";		
	
	public static interface DB {
	    String OAUTH2_TOKEN_API =     Configuration.DB_PREFIX  +  Configuration.OAUTH2_TOKEN_API;
		String EMAIL_API = 			  Configuration.DB_PREFIX  +  Configuration.EMAIL_API;		
		String FILTER_API = 		  Configuration.DB_PREFIX  +  Configuration.FILTER_API;		
		String HELPDESK_API = 		  Configuration.DB_PREFIX  +  Configuration.HELPDESK_API;
		String USER_API = 		      Configuration.DB_PREFIX  +  Configuration.USER_API;
		String TICKET_API = 		  Configuration.DB_PREFIX  +  Configuration.TICKET_API;		
		String FILE_API =             Configuration.DB_PREFIX  +  Configuration.FILE_API;
		String CATEGORY_API =         Configuration.DB_PREFIX  +  Configuration.CATEGORY_API;
		String HELPDESK_MEMBER_API =  Configuration.DB_PREFIX  +  Configuration.HELPDESK_MEMBER_API;
		String THREAD_MEMBER_API =    Configuration.DB_PREFIX  +  Configuration.THREAD_MEMBER_API;
		String THREAD_API =           Configuration.DB_PREFIX  +  Configuration.THREAD_API;     
	}
	
	public static interface WS {
	    String API_BASE_URL = "/api";
	    
	    String OAUTH2_TOKEN_API =     Configuration.WS_PREFIX  +  Configuration.OAUTH2_TOKEN_API;
		String EMAIL_API = 			  Configuration.WS_PREFIX  +  Configuration.EMAIL_API;
		String FILTER_API = 		  Configuration.WS_PREFIX  +  Configuration.FILTER_API;
		String HELPDESK_API = 		  Configuration.WS_PREFIX  +  Configuration.HELPDESK_API;
		String USER_API = 		      Configuration.WS_PREFIX  +  Configuration.USER_API;
		String TICKET_API = 		  Configuration.WS_PREFIX  +  Configuration.TICKET_API;
		String FILE_API =             Configuration.WS_PREFIX  +  Configuration.FILE_API;
		String CATEGORY_API =         Configuration.WS_PREFIX  +  Configuration.CATEGORY_API;
		String HELPDESK_MEMBER_API =  Configuration.WS_PREFIX  +  Configuration.HELPDESK_MEMBER_API;
        String THREAD_MEMBER_API =    Configuration.WS_PREFIX  +  Configuration.THREAD_MEMBER_API;
        String THREAD_API =           Configuration.WS_PREFIX  +  Configuration.THREAD_API;
		
		String OAUTH2_TOKEN_BASE_URL =    "/oauth2token";
		String EMAIL_BASE_URL = 		  "/email";
		String FILTER_BASE_URL = 		  "/filter";
		String HELPDESK_BASE_URL = 		  "/helpdesk";
		String USER_BASE_URL = 		      "/user";
		String TICKET_BASE_URL = 		  "/ticket";
		String FILE_BASE_URL =            "/file";
		String CATEGORY_BASE_URL =        "/category";
		String HELPDESK_MEMBER_BASE_URL = "/helpdeskMember";
		String THREAD_MEMBER_BASE_URL =   "/threadMember";
		String THREAD_API_BASE_URL =      "/thread";          
	}
	
	public static interface GWT {
		String BASE_PACKAGE = "cz.proks.easyhelpdesk.gwt";
		
		String BASE_URL = "http://easy-helpdesk-server.appspot.com/";
		/*String BASE_URL = "http://gros.pod.cvut.cz:8888/";*/
		
		String GWT_OAUTH2_ENTRY = BASE_URL + "easyhelpdesk.html#/oauth";
        /*String GWT_OAUTH2_ENTRY = BASE_URL + "easyhelpdesk.html?gwt.codesvr=gros.pod.cvut.cz:9997#/oauth";*/
		
		String ENTRY_POINT_CLASS_SIMPLE_NAME = "WebEntry";
		String ENTRY_POINT = BASE_PACKAGE + "." + ENTRY_POINT_CLASS_SIMPLE_NAME;
		String GWT_XML_NAME = "Web";
		String MAIN_PANEL_ID = "main";
		
		static interface GOOGLE_OAUTH {
		    String OAUTH2_ENDPOINT = "https://accounts.google.com/o/oauth2/auth";
		    String CLIENT_ID = "114572685467.apps.googleusercontent.com";
		    String CLIENT_SECRET = "zPH8ofjv6CHVlYAkIqSxotNZ";
		    
		    String GOOGLE_USER_INFO_SCOPE = "https://www.googleapis.com/auth/userinfo.profile";
		    String GOOGLE_EMAIL_SCOPE = "https://www.googleapis.com/auth/userinfo.email";
		}
				
		String OAUTH2_REDIRECT_URI = BASE_URL + "api/oauth2callback";			
	}
	
	public static interface Core {
		static interface WS {
		    String OAUTH2_TOKEN_API =    Configuration.CORE_PREFIX + Configuration.WS_PREFIX  +  Configuration.OAUTH2_TOKEN_API;
			String EMAIL_API = 			 Configuration.CORE_PREFIX + Configuration.WS_PREFIX  +	Configuration.EMAIL_API;
			String FILTER_API = 		 Configuration.CORE_PREFIX + Configuration.WS_PREFIX  + 	Configuration.FILTER_API;
			String HELPDESK_API = 		 Configuration.CORE_PREFIX + Configuration.WS_PREFIX  + 	Configuration.HELPDESK_API;
			String USER_API = 		     Configuration.CORE_PREFIX + Configuration.WS_PREFIX  + 	Configuration.USER_API;
			String TICKET_API = 		 Configuration.CORE_PREFIX + Configuration.WS_PREFIX  + 	Configuration.TICKET_API;
			String FILE_API =            Configuration.CORE_PREFIX + Configuration.WS_PREFIX  +  Configuration.FILE_API; 
			String CATEGORY_API =        Configuration.CORE_PREFIX + Configuration.WS_PREFIX  +  Configuration.CATEGORY_API;
			String HELPDESK_MEMBER_API = Configuration.CORE_PREFIX + Configuration.WS_PREFIX  +  Configuration.HELPDESK_MEMBER_API;
			String THREAD_MEMBER_API =   Configuration.CORE_PREFIX + Configuration.WS_PREFIX  +  Configuration.THREAD_MEMBER_API;
			String THREAD_API =          Configuration.CORE_PREFIX + Configuration.WS_PREFIX  +  Configuration.THREAD_API;
		}
		
		static interface DB {
		    String OAUTH2_TOKEN_API =    Configuration.CORE_PREFIX + Configuration.DB_PREFIX  +  Configuration.OAUTH2_TOKEN_API;
			String EMAIL_API = 			 Configuration.CORE_PREFIX + Configuration.DB_PREFIX  +	Configuration.EMAIL_API;
			String FILTER_API = 		 Configuration.CORE_PREFIX + Configuration.DB_PREFIX  + 	Configuration.FILTER_API;
			String HELPDESK_API = 		 Configuration.CORE_PREFIX + Configuration.DB_PREFIX  + 	Configuration.HELPDESK_API;
			String USER_API = 		     Configuration.CORE_PREFIX + Configuration.DB_PREFIX  + 	Configuration.USER_API;
			String TICKET_API = 		 Configuration.CORE_PREFIX + Configuration.DB_PREFIX  + 	Configuration.TICKET_API;
			String FILE_API =            Configuration.CORE_PREFIX + Configuration.DB_PREFIX  +  Configuration.FILE_API;
			String CATEGORY_API =        Configuration.CORE_PREFIX + Configuration.DB_PREFIX  +  Configuration.CATEGORY_API;
			String HELPDESK_MEMBER_API = Configuration.CORE_PREFIX + Configuration.DB_PREFIX  +  Configuration.HELPDESK_MEMBER_API;
            String THREAD_MEMBER_API =   Configuration.CORE_PREFIX + Configuration.DB_PREFIX  +  Configuration.THREAD_MEMBER_API;
            String THREAD_API =          Configuration.CORE_PREFIX + Configuration.DB_PREFIX  +  Configuration.THREAD_API;
		}	
	}
}
